widget: Queue a draw when we need to
authorMatthias Clasen <mclasen@redhat.com>
Sun, 23 Aug 2020 21:07:37 +0000 (17:07 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Sun, 23 Aug 2020 21:07:37 +0000 (17:07 -0400)
commit40d7092f4a73cecc6275895643ada709e05632a4
tree0005014898753544dc4edc6fc6e2909e60a585fc
parentdc963dcbcb28230a15d946cc742dffb645aa58b6
widget: Queue a draw when we need to

The code in gtk_widget_real_css_changed assumes that
queue_resize > queue_allocate > queue_draw, but the
second one is not really true. These days, we happily
keep reusing the same render node even when the child
allocation is changed.

So, if a css change has flags that tell us we should
redraw, we need to queue a draw, otherwise we might
end up reusing an outdated render node.

This fixes spinners staying visible when they stop
spinning, despite the theme setting their opacity
to 0.
gtk/gtkwidget.c